home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / Lisp FAQ 14Sept94 / 7.Window Systems & GUIs < prev    next >
Encoding:
Internet Message Format  |  1994-09-15  |  15.4 KB  |  [TEXT/ttxt]

  1. Subject: FAQ: Lisp Window Systems and GUIs 7/7 [Monthly posting]
  2. Newsgroups: comp.lang.lisp,news.answers,comp.answers
  3. Summary: X Window System, GUIs and other Window Systems in Lisp
  4. Distribution: world
  5. Followup-To: poster
  6. Reply-To: ai+lisp-faq@cs.cmu.edu
  7. Approved: news-answers-request@MIT.Edu
  8.  
  9. Archive-name: lisp-faq/part7
  10. Last-Modified: Tue Sep 13 18:06:55 1994 by Mark Kantrowitz
  11. Version: 1.50
  12. Maintainer: Mark Kantrowitz and Barry Margolin <ai+lisp-faq@cs.cmu.edu>
  13. URL: http://www.cs.cmu.edu:8001/Web/Groups/AI/html/faqs/lang/lisp/top.html
  14. Size: 15791 bytes, 276 lines
  15.  
  16. ;;; ****************************************************************
  17. ;;; Lisp Window Systems and GUIs ***********************************
  18. ;;; ****************************************************************
  19. ;;; Written by Mark Kantrowitz and Barry Margolin
  20. ;;; lisp_7.faq 
  21.  
  22. This post contains Part 7 of the Lisp FAQ.
  23.  
  24. If you think of questions that are appropriate for this FAQ, or would
  25. like to improve an answer, please send email to us at ai+lisp-faq@cs.cmu.edu.
  26.  
  27. Topics Covered (Part 7):
  28.  
  29.   [7-1] How can I use the X Window System or other GUIs from Lisp?
  30.   [7-2] What Graphers/Browsers are available?
  31.  
  32. Search for \[#\] to get to question number # quickly.
  33.  
  34. ----------------------------------------------------------------
  35. Subject: [7-1] How can I use the X Window System or other GUIs from Lisp?
  36.  
  37. There are several GUI's and Lisp interfaces to the X Window System. Mailing
  38. lists for these systems are listed in the answer to question [4-7].
  39. Various vendors also offer their own interface-building packages.
  40.  
  41.    CLX provides basic Common Lisp/X functionality. It is a de facto standard
  42.    low-level interface to X, providing equivalent functionality to XLib, but
  43.    in Lisp. It is also a good source for comparing the foreign function calls
  44.    in various Lisps. Does *not* depend on CLOS.  Available free as part of the
  45.    X release in the contrib directory.  Also available by anonymous ftp from
  46.    ftp.x.org:/contrib/ as the files CLX.Manual.tar.Z and CLX.R5.02.tar.Z. 
  47.    [Note: The new version of CLX for X11R6 can be found (untarred) in
  48.    ftp.x.org:/pub/R6untarred/contrib/lib/CLX/ and includes some slight
  49.    modifications for CLtL2 compatability. You can get it in tarred form
  50.    from the CMU AI Repository, Lisp section.]
  51.    Primary Interface Author: Robert W. Scheifler <rws@zermatt.lcs.mit.edu>
  52.    Send bug reports to bug-clx@expo.lcs.mit.edu. 
  53.    The 232 page manual is available in /pub/R5untarred/mit/hardcopy/CLX 
  54.    (PostScript format) and /pub/R5untarred/mit/doc/CLX (Interleaf source).
  55.  
  56.    CLIM (Common Lisp Interface Manager) is a portable, graphical user
  57.    interface toolkit originally developed by International Lisp
  58.    Associates, Symbolics, and Xerox PARC, and now under joint development
  59.    by several Lisp vendors, including Symbolics, Franz, Lucid, Illudium,
  60.    and Harlequin.  It is intended to be a portable successor of Symbolics
  61.    UIMS (Dynamic Windows, Presentations Types).  CLIM 2.0 also supports
  62.    more traditional toolkit-style programming.  It runs on Symbolics Lisp
  63.    Machines; Allegro, Lucid, and Harlequin on several Unix platforms;
  64.    Symbolics CLOE on 386/486 IBM PCs running Windows; and MCL on Apple
  65.    Macintoshes.  It is *not* free, and with the exception of
  66.    Macintoshes, if it is available it can be purchased from the vendor
  67.    of the Lisp system you are using.  For the Macintosh version write
  68.    to Illudium: 
  69.      Contact: Dennis Doughty - Doughty@ileaf.com
  70.      or contact: Bill York - York@lucid.com
  71.    Illidium has signed a distribution agreement for MCL CLIM with
  72.    Lucid, so you can also get it from Lucid at sales@lucid.com,
  73.    415-329-8400. (Lucid also has a license to distribute MCL itself.)
  74.    CLIM includes a general purpose grapher. The CLIM 2.0 SPECIFICATION
  75.    is available by anonymous ftp from ftp.uu.net:/vendor/franz/clim/clim.ps.Z.
  76.    To be added to the mailing list send mail to clim-request@bbn.com.
  77.  
  78.    CLUE (Common Lisp User-Interface Environment) is from TI, and extends CLX
  79.    to provide a simple, object-oriented toolkit (like Xt) library that uses
  80.    CLOS. Provides basic window classes, some stream I/O facilities, and a few
  81.    other utilities. Still pretty low level (it's a toolkit, not widget
  82.    library).  Available free by anonymous ftp from csc.ti.com:/pub/clue.tar.Z
  83.    Written by Kerry Kimbrough. Send bug reports to clue-bugs@dsg.csc.ti.com.
  84.  
  85.    CLIO (Common Lisp Interactive Objects) is a GUI from the people who created
  86.    CLUE. It provides a set of CLOS classes that represent the standard
  87.    components of an object-oriented user interface -- such as text, menus,
  88.    buttons, scroller, and dialogs.  It is included as part of the CLUE
  89.    distribution, along with some packages that use it, both sample and real.
  90.  
  91.    Allegro Common Windows provides a front end to CLX. Uses CLOS.
  92.    It is *not* free. Contact info@franz.com for more information.
  93.    [Intellicorp's KEE4.0 comes with Common Windows also. They've
  94.     implemented the CW spec to run on Lucid 4.0 on Sparcs, HP300/400s,
  95.     HP700/800s, and IBM RS6000s. Contact tait@intellicorp.com for more
  96.     information.]
  97.  
  98.    The LispWorks Toolkit is an extensible CLOS-based widget set that uses
  99.    CLX and CLUE. The LispWorks programming environment has been written
  100.    using the toolkit and includes: an Emacs-like editor, listener,
  101.    debugger, profiler, and operating system shell; browsers/graphers for
  102.    classes, generic functions, processes, windows, files, compilation
  103.    errors, source code systems, and setting LispWorks parameters; and an
  104.    interactive interface builder and complete online hypertext
  105.    documentation. Contact: lispworks-request@harlqn.co.uk
  106.  
  107.    CLM (Common Lisp Motif) and GINA (Generic Interactive Application) and
  108.    IB (Interface Builder). CLM runs Motif widgets in a separate C
  109.    process, with minimal work on the Lisp side and communicates between C
  110.    and Lisp using TCP sockets. Runs in Allegro CL, Sun CL, CMU CL, Lucid
  111.    CL, and Symbolics Genera. GINA uses CLOS.  Available free in the X
  112.    contrib directory or by anonymous ftp from either
  113.       ftp.x.org:/contrib (formerly export.lcs.mit.edu) or
  114.       ftp.gmd.de:/gmd/gina [129.26.8.84] 
  115.    as the files CLM+GINA.README, CLM2.2.tar.Z and GINA2.2.tar.Z.  CLM was
  116.    written by Andreas Baecker <baecker@gmd.de>, GINA by Mike Spenke
  117.    <spenke@gmd.de>, and IB by Thomas Berlage <berlage@gmd.de>.  
  118.    Contact Mike Spenke for more info. To be added to the mailing list,
  119.    send a message to gina-users-request@gmd.de.
  120.  
  121.    EW (Express Windows) is intended to mimic Symbolics' Dynamic Windows user
  122.    and programmer interfaces. It is available free in the Common Lisp
  123.    Repository as
  124.       ftp.cs.cmu.edu:/user/ai/lang/lisp/gui/ew/
  125.    It is no longer under active development. Runs on Sun/Lucid, Franz
  126.    Allegro, and Symbolics. Should port easily to other Lisps with CLX. 
  127.    Written by Andrew L. Ressler <aressler@oiscola.columbia.ncr.com>.
  128.  
  129.    Garnet is a large and flexible GUI. Lots of high-level features.  Does
  130.    *not* depend on CLOS, but does depend on CLX. Garnet (version 2.0 and
  131.    after) is now in the public domain, and has no licensing restrictions,
  132.    so it is available to all foreign sites and for commercial uses.
  133.    Detailed instructions for obtaining it by anonymous ftp are available
  134.    by anonymous ftp as
  135.       a.gp.cs.cmu.edu:/usr/garnet/garnet/README [128.2.242.7] 
  136.    Garnet includes the Lapidiary interactive design tool, C32 constraint
  137.    editor, spreadsheet object, Gilt Interface Builder, automatic display
  138.    management, two widget sets (Motif look-and-feel and Garnet
  139.    look-and-feel), support for gesture recognition, and automatic
  140.    constraint maintenance, application data layout and PostScript
  141.    generation. Runs in virtually any Common Lisp environment, including
  142.    Allegro, Lucid, CMU, and Harlequin Common Lisps on Sun, DEC, HP,
  143.    Apollo, IBM 6000, and many other machines.  Garnet helps implement
  144.    highly-interactive, graphical, direct manipulation programs for X/11
  145.    in Common Lisp.  Typical applications include: drawing programs
  146.    similar to Macintosh MacDraw, user interfaces for expert systems and
  147.    other AI applications, box and arrow diagram editors, graphical
  148.    programming languages, game user interfaces, simulation and process
  149.    monitoring programs, user interface construction tools, CAD/CAM
  150.    programs, etc. Contact Brad Myers (bam@a.gp.cs.cmu.edu) for more
  151.    information. Bug reports should be sent to garnet-bugs@cs.cmu.edu.
  152.    Administrative questions should be sent to garnet@cs.cmu.edu or
  153.    garnet-request@cs.cmu.edu. Garnet is discussed on the newsgroup
  154.    comp.windows.garnet (which is gatewayed to garnet-users@cs.cmu.edu for
  155.    those without access to netnews).
  156.  
  157.    LISP2WISH is a very simple demonstration of how to connect and
  158.    communicate SYNCHRONOUSLY between a lisp process and a C process
  159.    running a Tcl/Tk executable.  The demo uses the vanilla 'wish'
  160.    executable that is included with the Tcl/Tk distribution.  Tcl/Tk is a
  161.    very flexible system for building Graphical User Interfaces (GUIs),
  162.    with the look-and-feel of Motif.  One writes scripts in a high-level,
  163.    C-like language, and an interpreter evaluates the commands and passes
  164.    execution either to a built-in function (and there are many), or to
  165.    your own C routines.  Tcl/Tk is becoming increasingly popular because
  166.    of its ease of use, and because it is freely distributable (even
  167.    commercially, I believe).  For more information on Tcl/Tk, look on the
  168.    USENET newsgroup comp.lang.tcl, or get the distribution from the
  169.    archive (listed below) or ftp.cs.berkeley.edu.  The Tcl/Tk archive
  170.    also has many user-contributed extensions which make Tcl/Tk even more
  171.    desirable.  Tcl/Tk was originally written by Dr. John Ousterhout, at
  172.    Berkeley.  LISP2WISH lets you make a window/menu/drawing interface for
  173.    your lisp routines, where you can take advantage of all the stuff
  174.    written for Tcl/Tk (and build your own!).
  175.    LISP2WISH has only been tested under X-Windows and Lucid Common Lisp
  176.    4.0 and 4.1, but should work on other platforms that support Lucid
  177.    (or Allegro) and Tcl/Tk.  LISP2WISH is available at the Tcl/Tk archive
  178.       harbor.ecn.purdue.edu:/pub/tcl/lisp2wish6.tar.gz,
  179.    from the author through the WWW at the URL
  180.       http://www.cis.upenn.edu/~kaye/home.html
  181.    by anonymous ftp from 
  182.       ftp.cis.upenn.edu:/pub/kaye/lisp2wish6.tar.Z
  183.    or in the GUI section of the Lisp Repository as
  184.       ftp.cs.cmu.edu:/user/ai/lang/lisp/gui/lsp2wish/lsp2wish.tgz
  185.    For more information, contact Jonathan Kaye <kaye@linc.cis.upenn.edu>.
  186.  
  187.    LispView is a GUI written at Sun that does not use CLX.  Instead it
  188.    converts Xlib.h directly into Lucid foreign function calls. It is intended
  189.    to be fast and tight. Uses CLOS.  Available for anonymous ftp from
  190.       ftp.x.org:/contrib/lispview1.1 (formerly export.lcs.mit.edu) and
  191.       xview.ucdavis.edu:/pub/XView/LispView1.1 
  192.    Includes a general-purpose 2D grapher library.
  193.    Written by Hans Muller (hmuller@sun.com). Runs in Sun CL and Lucid CL.
  194.    Direct questions about the source provision to lispview@Eng.Sun.Com.
  195.    
  196.    WINTERP (Widget INTERPreter) is an application development environment
  197.    developed at HP. It enables the rapid prototyping of graphical
  198.    user-interfaces through direct manipulation of user interface objects
  199.    and their attached actions.  WINTERP provides an interface to the X11
  200.    toolkit (Xt) and the OSF/Motif widget set and a built-in RPC mechanism
  201.    for inter-application communication.  It includes an object-oriented
  202.    2.5D graphics and animation widget based on the Xtango path transition
  203.    animation system, the XmGraph graph browser (with graph nodes as
  204.    arbitrary WINTERP widgets), and GIF image support.  The interpreter is
  205.    based on David Betz's XLISP interpreter, which implements a small
  206.    subset of Common Lisp and runs on PCs, Decstation 3100s, HP9000s,
  207.    Sun3, Sparcs, SGI, and NeXT.  XLISP provides a simple Smalltalk-like
  208.    object system, with OSF/Motif widgets as real XLISP objects -- they
  209.    can be specialized via subclassing, methods added or altered, etc.
  210.    WINTERP includes an interface to GNU-Emacs which allows code to be
  211.    developed and tested without leaving the editor.  WINTERP is a
  212.    free-standing Lisp-based tool for setting up window applications.
  213.    WINTERP is available free in X contrib directory, or by anonymous ftp
  214.    from
  215.       ftp.x.org:/contrib/devel_tools/
  216.    as winterp-???.tar.gz (formerly export.lcs.mit.edu) where ??? is the
  217.    version number. The current version is 2.01 (X11r6 support).  If you
  218.    do not have Internet access you may request the source code to be
  219.    mailed to you by sending a message to winterp-source@netcom.com.
  220.    The WWW home page for WINTERP is accessible via the URL
  221.        http://www.eit.com/software/winterp/winterp.html
  222.    or mirrored on
  223.        file://ftp.x.org/contrib/devel_tools/winterp.html
  224.    Contact Niels Mayer <mayer@netcom.com> for more information. To be
  225.    added to the mailing list, send mail to winterp-request@netcom.com.
  226.  
  227.    YYonX is a port of the YY system to X windows. Runs in Lucid CL, Allegro
  228.    CL, and Symbolics Genera. Supports kanjii.  Developed at Aoyama Gakuin
  229.    University. Available free by anonymous ftp from 
  230.       ftp.csrl.aoyama.ac.jp:/YY/
  231.    Written by Masayuki Ida <ida@cc.aoyama.ac.jp>
  232.  
  233.    Picasso is a CLOS based GUI, and is available from
  234.       postgres.berkeley.edu:/pub/Picasso-2.0 
  235.       toe.cs.berkeley.edu:/pub/picasso/ 
  236.    It runs on DecStation 3100s, Sun3 (SunOs), Sun4 (Sparc), and Sequent
  237.    Symmetry in Allegro CL. The file pub/xcl.tar.Z contains X-Common Lisp
  238.    interface routines. Send mail to picasso@postgres.berkeley.edu for
  239.    more information. [Picasso is no longer an actively supported system.]
  240.  
  241.    XIT (X User Interface Toolkit) is an object-oriented user interface
  242.    development environment for the X Window System based on Common Lisp,
  243.    CLOS, CLX, and CLUE.  It has been developed by the Research Group
  244.    DRUID at the Department of Computer Science of the University of
  245.    Stuttgart (druid@informatik.uni-stuttgart.de) as a framework for
  246.    Common Lisp/CLOS applications with graphical user interfaces for the X
  247.    Window System.  XIT contains user interface toolkits, including
  248.    general building blocks and mechanisms for building arbitrary user
  249.    interface elements and a set of predefined common elements (widgets),
  250.    as well as high-level interactive tools for constructing, inspecting,
  251.    and modifying user interfaces by means of direct manipulation.
  252.    Although the system kernel is quite stable, XIT is still under active
  253.    development.  XIT can be obtained free by anonymous ftp from
  254.    ftp.informatik.uni-stuttgart.de:/pub/xit/ [129.69.211.2]
  255.  
  256. ----------------------------------------------------------------
  257. Subject: [7-2] What Graphers/Browsers are available?
  258.  
  259. Most of the graphics toolkits listed above include graphers. In
  260. particular, CLIM, Lispworks, Garnet, and Lispview all include
  261. graphers. The ISI grapher used to be in fairly widely used, but the
  262. CLIM grapher seems to be overtaking it in popularity.
  263.  
  264. A simple grapher like the one described in "Lisp Lore" by Bromeley and
  265. Lamson is available by anonymous ftp from
  266.    ftp.csrl.aoyama.ac.jp:/graphers/ 
  267. as the file graphers.tar.Z.uu. It includes versions for CLX, Express
  268. Windows, NCW, CLUE, CLM/GINA, Common Windows, LispView, Winterp, CLIM
  269. and YY. Several implementations have a mouse sensitivity feature and
  270. others have implementation-specific features.  A copy has been made
  271. available from the Lisp Utilities Repository. For further information,
  272. contact Masayuki Ida <ida@csrl.aoyama.ac.jp>.
  273.  
  274. ----------------------------------------------------------------
  275. ;;; *EOF*
  276.  
  277.